This invention relates generally to data storage systems, and in particular, to systems and methods for providing media defect management.
Data storage systems such as bulk storage media (e.g. magnetic and optical storage media) and semiconductor devices, often include defects which arise during manufacturing, such as inconsistencies in a magnetic or optical coating or other surface or substrate anomalies, which make portions of the media unsuitable for data storage. However, it is often desirable to use media containing such defects, as these defective areas are generally relatively small compared to the total storage area of the media. Therefore, schemes for identifying and avoiding these defective areas have been used in the past.
Traditional schemes for defect management have, in the past, been complex and inflexible. According to one scheme, data is broken into xe2x80x9cblocksxe2x80x9d which are then encoded with a redundant error correction code (ECC). The original data and a redundant parity are both stored in the storage device. When the data is recovered, an ECC decoder uses the redundancy to identify and correct data errors. Any chosen error correction code, however, has limits and, if too many errors occur, data corruption will occur that the decoder may or may not detect.
Another scheme that has been utilized, often in conjunction with an ECC scheme, is referred to as xe2x80x9csparingxe2x80x9d. Sparing schemes typically, although not always, rely on utilizing a portion of the media as a defect management area in order to present a media that, although including defective areas, appears as if it were defect free. Accordingly, upon a manufacturer""s formatting of the media for subsequent use in data storage, an analysis of the storage areas is made and defective areas are marked as unusable. In order to provide media which includes a particular amount of available user storage area, logical addresses of the user data areas can be xe2x80x9cslippedxe2x80x9d into the defect management area so as to omit the physical addresses of these defective areas and, thus, present defect free logical media.
A common way to implement a sparing strategy is to have a set of replacement blocks at the high end of the physical address. When a request is made for a given block, the controller checks a xe2x80x9csparexe2x80x9d table to determine if that particular location has been spared (i.e. identified as a location that has a physical defect and is hence unusable). If the location has been spared, the table provides an alternate address among the replacement blocks.
Many storage systems incorporate both ECC and sparing. One strategy is to identify xe2x80x9cblocksxe2x80x9d that have so many errors as to prevent them from being corrected by the chosen ECC, and spare those blocks while not sparing blocks with errors that are within the correction capability of the ECC.
A resource-limited controller implies that the spare table may not be as large as might be desired for some cases that may occur. The location of spares is typically influenced by the manufacturing process and how manufacturing defects affect the functionality of the storage device. Some devices are prone to a burst of varying length of serially occurring errors, while others are prone to randomly distributed errors. As an example of a burst error, consider a scratch that might propagate some distance across the surface of a hard disk, or a crystalline anomaly that propagates linearly through the crystalline structure of a semiconductor device.
In the past, it has become a common practice to predefine a spare table to have a fixed, non-varying size. When a particular media is initially tested and burst errors are detected, table entries are made in this spare table to provide data that can be used to map affected physical addresses to other valid or non-defective physical address locations. As an example, consider FIG. 1.
There, a sparing table collection 100 is shown and includes individual sparing tables 102 (associated with Media 1), 104 (associated with Media 2), and 106 (associated with Media 3). Each of Media 1-3 comprise the same media type, e.g. a hard disk. Notice that each of the sparing tables 102-106 is the same, fixed size. That is, as between media of the same media type, the size of the sparing tables does not vary. Now consider what happens when each media is tested after manufacture to ascertain whether there are any burst errors and their locations. This is diagrammatically represented to right of each of sparing tables 102-106 where the respective sparing tables are shown at 102a-106a in relation to the data that each would contain to represent its burst errors. For the case of Media 1, sparing table 102a includes a cross-hatched portion that represents a quanta of data that is associated with its burst errors. In this example, Media 1 may contain one burst error. In this case, the quanta of data does not fill the sparing table to capacity. Accordingly, Media 1 is deemed to be within acceptable limits. For the case of Media 2, sparing table 104a includes a quanta of data (indicated by the cross-hatching) that does not exceed the capacity of the sparing table. In this example, Media 2 may contain 3 burst errors. However, for the case of Media 3, sparing table 106a would have to include a quanta of data (indicated at 108) that exceeds its fixed capacity (e.g. perhaps Media 3 has four burst errors). Accordingly, Media 3 would be deemed to exceed acceptable limits and would be discarded.
There are instances, however, when the number of burst errors in a particular media is such that the capacity of a fixed-size sparing table is exceeded, but the media would still be useful and desirable to use for storage. Yet, using the standard set forth above, such media exceptions will always be discarded as defective.
For additional information on sparing, the reader is referred to the following references: U.S. Pat. Nos. 6,212,647, 5,666,512, 5,937,435, 5,822,142, and 6,223,303.
Accordingly, this invention arose out of concerns associated with providing improved or optimized sparing tables and methods that can effectively increase yields.
Methods and systems for providing sparing tables are described. In one embodiment, at least one media for storing data is received and processed. Processing takes place by identifying burst errors having burst error locations. A determination is made as to whether any of the burst errors can be combined for purposes of entry annotation in a sparing table associated with the media. A sparing table is then configured with entries associated with the burst errors. In an event that a burst error can be combined with at least one other burst error, an entry is provided in the sparing table that reflects one or more burst error combinations.